27 research outputs found
Sobre a verdade das proposições morais e das proposições da lógica
O texto apresenta uma crÃtica à tentativa de extensão à lógica de uma posição niilista análoga à posição niilista com respeito a valores. AbstractThis article presents a critic to the attempt of extending to logic a nihilistic perspective analogous to the nihilistic perspective concerning values
Analytic Tableaux for Simple Type Theory and its First-Order Fragment
We study simple type theory with primitive equality (STT) and its first-order
fragment EFO, which restricts equality and quantification to base types but
retains lambda abstraction and higher-order variables. As deductive system we
employ a cut-free tableau calculus. We consider completeness, compactness, and
existence of countable models. We prove these properties for STT with respect
to Henkin models and for EFO with respect to standard models. We also show that
the tableau system yields a decision procedure for three EFO fragments
Quantitative program reasoning with graded modal types
In programming, data is often considered to be infinitely copiable, arbitrarily discardable, and universally unconstrained. However this view is naive: some data encapsulates resources that are subject to protocols (e.g., file and device handles, channels); some data should not be arbitrarily copied or communicated (e.g., private data). Linear types provide a partial remedy by delineating data in two camps: "resources" to be used but never copied or discarded, and unconstrained values. However, this binary distinction is too coarse-grained. Instead, we propose the general notion of graded modal types, which in combination with linear and indexed types, provides an expressive type theory for enforcing fine-grained resource-like properties of data. We present a type system drawing together these aspects (linear, graded, and indexed) embodied in a fully-fledged functional language implementation, called Granule. We detail the type system, including its metatheoretic properties, and explore examples in the concrete language. This work advances the wider goal of expanding the reach of type systems to capture and verify a broader set of program properties